#!/bin/bash

#Desc:change file's suffix of directory
#Author:zhang huan 
#update:2020-9-5
sourcepath=
mvpath=
suffixold=
suffixnew=

changespacefilename(){
	find $sourcepath  -print0 |while read -d $'\0' file ;do mv "$file" "$(echo $file |sed 's/ /-/g')" ;done &>/dev/null
}

changesuffix(){
	for i in `find $sourcepath -name *.$suffixold  `
	do
			mv $i ${i%.*}.$suffixnew
	done
}

mvfile(){
	if [ $1 -eq 1 ]; then
		for i in `find $sourcepath -name *.$suffixold `
		do
			mkdir -p $mvpath/${i%/*}
			mv -f $i $mvpath/${i%/*}
		done
	else  
		for i in `find $sourcepath -name *.$suffixold `
		do
			mv -f $i $mvpath
		done
	fi
		
	
}

cpfile(){
	if [ $1 -eq 1 ]; then
		for i in `find $sourcepath -name *.$suffixold `
		do
			mkdir -p $mvpath/${i%/*}
			cp -f $i $mvpath/${i%/*}
		done
	else
		for i in `find $sourcepath -name *.$suffixold `
		do
			cp -f $i $mvpath
		done
	fi
}
display(){
cat << EOF
	选择功能
	0）删除文件名称中的空格
	1）修改指定后缀的文件的后缀
	2）剪切指定后缀的文件到指定文件夹
	3）复制指定后缀的文件到指定文件夹 
	4）剪切指定后缀的文件到指定文件夹（保留路径）
	5）复制指定后缀的文件到指定文件夹（保留路径）
	q|Q）退出
EOF
}

while :
do
	display
	read -p "请选择：" choise
	case $choise in
	0)
		read -p "请输入文件路径(如果子层文件夹还有空格请输入路径/*/*)：" sourcepath
		changespacefilename 
	;;
	1)
		read -p "请输入文件路径：" sourcepath
		read -p "请输入要修改的文件后缀：" suffixold
		read -p "请输入修改后的文件后缀：" suffixnew
		changesuffix	
	;;
	2)
		read -p "请输入文件夹路径：" sourcepath
		read -p "请输入指定文件的后缀" suffixold
		read -p "请输入指定的文件夹" mvpath
		mvfile
	;;	
	
	3)
		read -p "请输入文件夹路径：" sourcepath
		read -p "请输入指定文件的后缀" suffixold
		read -p "请输入指定的文件夹" mvpath
		cpfile 1
	;;
	4)
		read -p "请输入文件夹路径：" sourcepath
		read -p "请输入指定文件的后缀" suffixold
		read -p "请输入指定的文件夹" mvpath
		mvfile 1
	;;	
	
	5)
		read -p "请输入文件夹路径：" sourcepath
		read -p "请输入指定文件的后缀" suffixold
		read -p "请输入指定的文件夹" mvpath
		cpfile
	;;
	q|Q)
		echo "感谢使用"
		exit 0
	;;
	*)
	;;
	esac	
done	



